Discussion:
Why Does Named.root Change With No Changes?
(too old to reply)
F Russell
2020-10-23 22:32:47 UTC
Permalink
Every time I boot my system (usually every 2-3 days)
I automatically download the official "named.root" file
that lists the top-level name servers to check for any
changes"

ftp://ftp.internic.net/domain/named.root

to check for changes I do a diff on the new file against
the previously downloaded file. Usually, there are no
differences, but on occasion, although the root servers
are unchanged, the file indicates an update.

Why? That is, why indicate an update when no changes
have occurred?

I show the diff file from the latest "update." Only
the date has changed. Everything else is the same.

(Lines are over 80 columns)

; This file holds the information on root name servers ; This file holds the information on root name servers
; initialize cache of Internet domain name servers ; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>" ; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers). ; configuration file of BIND domain name servers).
; ;
; This file is made available by InterNIC ; This file is made available by InterNIC
; under anonymous FTP as ; under anonymous FTP as
; file /domain/named.cache ; file /domain/named.cache
; on server FTP.INTERNIC.NET ; on server FTP.INTERNIC.NET
; -OR- RS.INTERNIC.NET ; -OR- RS.INTERNIC.NET
; ;
; last update: October 22, 2020 | ; last update: September 14, 2020
; related version of root zone: 2020102201 | ; related version of root zone: 2020091401
; ;
; FORMERLY NS.INTERNIC.NET ; FORMERLY NS.INTERNIC.NET
; ;
. 3600000 NS A.ROOT-SERVERS.NE . 3600000 NS A.ROOT-SERVERS.NE
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2: A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:ba3e::2:
; ;
; FORMERLY NS1.ISI.EDU ; FORMERLY NS1.ISI.EDU
; ;
. 3600000 NS B.ROOT-SERVERS.NE . 3600000 NS B.ROOT-SERVERS.NE
B.ROOT-SERVERS.NET. 3600000 A 199.9.14.201 B.ROOT-SERVERS.NET. 3600000 A 199.9.14.201
B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:200::b B.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:200::b
; ;
; FORMERLY C.PSI.NET ; FORMERLY C.PSI.NET
; ;
. 3600000 NS C.ROOT-SERVERS.NE . 3600000 NS C.ROOT-SERVERS.NE
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::c
; ;
; FORMERLY TERP.UMD.EDU ; FORMERLY TERP.UMD.EDU
; ;
. 3600000 NS D.ROOT-SERVERS.NE . 3600000 NS D.ROOT-SERVERS.NE
D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13 D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13
D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2d::d
; ;
; FORMERLY NS.NASA.GOV ; FORMERLY NS.NASA.GOV
; ;
. 3600000 NS E.ROOT-SERVERS.NE . 3600000 NS E.ROOT-SERVERS.NE
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
E.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:a8::e E.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:a8::e
; ;
; FORMERLY NS.ISC.ORG ; FORMERLY NS.ISC.ORG
; ;
. 3600000 NS F.ROOT-SERVERS.NE . 3600000 NS F.ROOT-SERVERS.NE
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
; ;
; FORMERLY NS.NIC.DDN.MIL ; FORMERLY NS.NIC.DDN.MIL
; ;
. 3600000 NS G.ROOT-SERVERS.NE . 3600000 NS G.ROOT-SERVERS.NE
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
G.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:12::d0d G.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:12::d0d
; ;
; FORMERLY AOS.ARL.ARMY.MIL ; FORMERLY AOS.ARL.ARMY.MIL
; ;
. 3600000 NS H.ROOT-SERVERS.NE . 3600000 NS H.ROOT-SERVERS.NE
H.ROOT-SERVERS.NET. 3600000 A 198.97.190.53 H.ROOT-SERVERS.NET. 3600000 A 198.97.190.53
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::53 H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::53
; ;
; FORMERLY NIC.NORDU.NET ; FORMERLY NIC.NORDU.NET
; ;
. 3600000 NS I.ROOT-SERVERS.NE . 3600000 NS I.ROOT-SERVERS.NE
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53 I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fe::53
; ;
; OPERATED BY VERISIGN, INC. ; OPERATED BY VERISIGN, INC.
; ;
. 3600000 NS J.ROOT-SERVERS.NE . 3600000 NS J.ROOT-SERVERS.NE
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30 J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:3 J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:c27::2:3
; ;
; OPERATED BY RIPE NCC ; OPERATED BY RIPE NCC
; ;
. 3600000 NS K.ROOT-SERVERS.NE . 3600000 NS K.ROOT-SERVERS.NE
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1 K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7fd::1
; ;
; OPERATED BY ICANN ; OPERATED BY ICANN
; ;
. 3600000 NS L.ROOT-SERVERS.NE . 3600000 NS L.ROOT-SERVERS.NE
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:9f::42 L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:9f::42
; ;
; OPERATED BY WIDE ; OPERATED BY WIDE
; ;
. 3600000 NS M.ROOT-SERVERS.NE . 3600000 NS M.ROOT-SERVERS.NE
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35 M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35
; End of file ; End of file
--
Systemd free - always and forever
D.E. free - always and forever
Grant Taylor
2020-10-23 23:13:44 UTC
Permalink
Every time I boot my system (usually every 2-3 days) I automatically
download the official "named.root" file that lists the top-level name
servers to check for any changes"
Why do you do this?

You should only need knowledge of one functional root server to populate
the list of the rest of them. So if one, or even a few, are at
different addresses, it won't cause a problem.
to check for changes I do a diff on the new file against the previously
downloaded file. Usually, there are no differences, but on occasion,
although the root servers are unchanged, the file indicates an update.
Why? That is, why indicate an update when no changes have occurred?
If I'm interpreting the following lines correctly, I'm guessing that the
root zone itself changed, and that caused the process that automatically
generates the named.root file to be updated.
; last update: October 22, 2020 | ; last update: September 14, 2020
; related version of root zone: 2020102201 | ; related version of root zone: 2020091401
I show the diff file from the latest "update." Only the date has
changed. Everything else is the same.
The date of the named.root file would naturally change if the named.root
file is updated to match the root zone version.
--
Grant. . . .
unix || die
F Russell
2020-10-24 00:09:16 UTC
Permalink
Post by Grant Taylor
Why do you do this?
Because I use pdnsd to bypass my ISP nameserver:

http://members.home.nl/p.a.rombouts/pdnsd/index.html

Pdnsd allows caching as well for faster subsequent lookups,
as well as filtering based on the "hosts" file.
Post by Grant Taylor
If I'm interpreting the following lines correctly, I'm guessing that the
root zone itself changed,
The date of the named.root file would naturally change if the named.root
file is updated to match the root zone version.
What exactly is the "root zone?"

But that would represent the only difference.

All of this is totally inconsequential. I am just curious why
the file would indicate an update even though no root server
address has changed.
--
Systemd free - always and forever
D.E. free - always and forever
Grant Taylor
2020-10-24 00:22:03 UTC
Permalink
Post by F Russell
http://members.home.nl/p.a.rombouts/pdnsd/index.html
Pdnsd allows caching as well for faster subsequent lookups, as well
as filtering based on the "hosts" file.
I get running a local recursive resolver. I've been doing it for the
better part of two decades.

But if you already have a file that is -- let's say -- > 90% accurate,
given the way that resolvers work, why do you need to (re)download the
file every time you boot?

I could definitely see monthly, or /maybe/ even weekly. But I don't see
why do it on every boot.

Also, depending on how you're downloading it, there's a good chance that
you can enhance the download so that it only does so if the file on the
server changes on the remote server.
Post by F Russell
What exactly is the "root zone?"
It's the zone that actually contains the information that you talk to
the root servers to get.

Link - DNS root zone - Wikipedia
- https://en.wikipedia.org/wiki/DNS_root_zone

Link - Root Zone Management - IANA
- https://www.iana.org/domains/root

Link - Root Files - IANA
- https://www.iana.org/domains/root/files
Post by F Russell
But that would represent the only difference.
All of this is totally inconsequential. I am just curious why the
file would indicate an update even though no root server address
has changed.
The named.root file is effectively a very small ancillary piece of DNS.
As such, it's trivial to update it if / when other parts of the DNS root
change.

Think about it this way. You tell make to rebuild files (like
named.root) any time other source files (like the root zone) is updated.
It doesn't matter if the contents that go in the target file
(named.root) change or not. The process causes a new target file to be
created.

So when the root zone file is updated (new TLD, or existing TLD
nameserver changes, or DNSSEC data changes) the associated named.root
file will /also/ be updated. It's a cascading effect, even if the
contents of the named.root file doesn't substantially change.
--
Grant. . . .
unix || die
F Russell
2020-10-24 00:30:14 UTC
Permalink
Post by Grant Taylor
I could definitely see monthly, or /maybe/ even weekly. But I don't see
why do it on every boot.
Why not?

The addresses of the root servers did change on occasion
in the past, and I would change my pdnsd config file
in response.

But I have not seen any change in a root server address
in years and I am just wondering why they would indicate
just a change in date.
--
Systemd free - always and forever
D.E. free - always and forever
Grant Taylor
2020-10-24 00:48:38 UTC
Permalink
Post by F Russell
Why not?
Because it doesn't change that often.

Because it's some additional load.

Because it's not necessary load.

Because the way that recursive DNS servers operate, only one IP of all
of the possible IPs is needed. Therefore one of the 13 being wrong is
inconsequential.

Because I've seen the named.root file as part of DNS server updates.
Thus updates to the DNS server also covers the named.root file.
Post by F Russell
The addresses of the root servers did change on occasion in the past,
and I would change my pdnsd config file in response.
Yes, they do occasionally change. I think I've seen three, or maybe
even four, changes in the 20 years that I've been working with them. I
think one or more of those changes was adding IPv6 addresses and not
actually a change of an IPv4 address.
Post by F Russell
But I have not seen any change in a root server address in years and
I am just wondering why they would indicate just a change in date.
Because the file that you are checking is created as a side effect of
something else changing multiple times a month. (At least that's my
understanding.)
--
Grant. . . .
unix || die
Loading...